package com.sise.mapper;

import com.baomidou.mybatisplus.core.mapper.BaseMapper;
import com.sise.bean.OrderMasterAndOrderDetailForScoreBean;
import com.sise.entity.OrderMaster;
import org.apache.ibatis.annotations.Param;

import java.util.List;

/**
 * @author zj
 */
public interface OrderMasterMapper extends BaseMapper<OrderMaster> {

    /**
     * @return 获取今天订单
     */
    List<OrderMaster> getTodayOrder();

    /**
     * @param N       本月N为0，上个月N为1，上上个月N为2以此类推
     * @param status  订单状态，0：待付款，1：已付款，2：已发货，3：订单完成，4：订单取消，null为全部
     * @param storeId 店铺id，null为全部
     * @return 获取N个月前店铺的订单数据
     */
    List<OrderMaster> getOrdersNByMonthAndStatus(@Param("N") Integer N, @Param("status") Integer status, @Param("storeId") Integer storeId);

    /**
     * @return 获得全部订单中来自那些店铺id
     */
    List<Integer> getStoreIdAll();

    /**
     * @param status  订单状态，0：待付款，1：已付款，2：已发货，3：订单完成，4：订单取消，null为全部
     * @param storeId 店铺id，null为全部
     * @return 获取本年店铺的订单数据
     */
    List<OrderMaster> getOrdersYearStatus(@Param("status") Integer status, @Param("storeId") Integer storeId);

    /**
     * @return 获取订单商品中购买的数量
     */
    List<OrderMasterAndOrderDetailForScoreBean> getOrderMasterAndOrderDetailForScoreBean(@Param("openId") String openId, @Param("productId") int productId);
}
